The present invention relates to an NC (numerical control) apparatus improved in determining whether or not a positioning operation of a machine is completed.
FIG. 3 is a block diagram showing the structure of a conventional numerical control apparatus. In the figure, an interpolation process unit 1 receives machining informations of each block of a machining program, for example, movement distance and movement speed, and outputs an incremental amount of movement of a controlling axis for every sampling. An acceleration and deceleration process unit 2 receives the interpolation information such as the incremental amount of movement for every sampling obtained from the interpolation process unit 1, executes an acceleration and deceleration process using, for example, a primary delay circuit (not shown), and outputs a position command (incremental amount of movement for one sampling) to a motor 6. A servo control section 3 controls a positioning operation of the motor 6 in response to the output of the acceleration and deceleration process unit 2. A position detector 4 and a speed detector 5 of the servo control unit 3 detect position and speed, respectively. A position control section 7 and a speed control section 8 of the servo control unit 3 control position and speed, respectively. Further, an amplifier 9 is disposed in the servo control unit 3.
FIG. 4 is a flow chart describing the operation of an in-position (completion of positioning) check process of the numerical control apparatus shown in FIG. 3. In the figure, steps 1 to 8 are operation steps of the process.
The operation of the above conventional numerical control apparatus will be described in the following. In step 1 shown in FIG. 4 , machining information, for example, movement distance and movement speed, of one block of a machining program to be executed is input to the interpolation process unit 1. In step 2, the interpolation information such as the incremental amount of movement for each sampling is computed by the interpolation process unit 1 and is output to the acceleration and deceleration process unit 2. In step 3, it is determined whether or not the interpolation of one block has been completed. When it is determined that the interpolation of the one block has not been completed, the process returns back to step 2. When it is determined that the one block has been completed, the process advances to step 4. In step 4, it is determined whether or not the in-position check operation is executed for the machining information being input to the interpolation process unit 1. When it is determined that the in-position check operation is not necessary for the block, the process advances to step 8. When it is determined that the in-position check operation is necessary for the block, the process advances to step 5. In step 5, when the output of the acceleration and deceleration process unit 2 is 0, namely, when the movement command to the motor 6 is 0, the process advances to step 6. When the output of the acceleration and declaration process unit 2 is not 0, namely, when the movement command to the motor 6 is not 0, the process of step 5 is repeated until the output of the acceleration and deceleration process unit 2 becomes 0, namely, until the movement command to the motor 6 becomes 0. In step 6, the servo control unit 3 reads the position droop of the motor 6 in the servo system. In step 7, it is determined whether or not the position droop is in the given in-position range. When it is determined that the position droop is not in the given in-position range, the process returns back to step 6. When it is determined that the position droop is in the given in-position range, the process advances to step 8. In step 8, it is determined whether or not all the blocks of the machining program have been executed. When it is determined that all the blocks have been executed, the process is completed. When they have not been executed, the process returns back to step 1 and executes the next block.
FIG. 5 is a diagram describing a positioning error due to deflection of a machine which occurs when the conventional numerical control apparatus executes the positioning operation of the machine. In the figure, reference numeral 4 is a position detector, 6 is a motor, 10 is a workpiece, 11 is a ball screw, 12 is a bearing for supporting the ball screw 11, 13 is a nut, 14 is a tool, and 15 is a guide surface on which the tool 14 is moved.
The in-position check process of the conventional numerical control apparatus is executed as described above. For example, as shown in FIG. 5, at the time of positioning the machine, as in a semi-closed loop method, when the machine position detected by the position detector 4 is away from the machining point of the tool 14 against the workpiece 10, when the workpiece 10 is heavily cut, or when the sharpness of the tool 14 to the workpiece 10 is degraded, since the machine deflects as shown by the broken line of FIG. 5, even if the in-position check at the place where the position detector 4 detects a position, is conducted, the positioning accuracy at a machining point of the tool 14 to the workpiece 10 has an error e as shown in FIG. 5. Consequently, it is very difficult to assure a fixed accuracy being set in the in-position range.
In addition, as disclosed in Japanese patent laid-open No. 61-147791, whose title is "Abnormality monitor apparatus for automatic positioning unit", an apparatus for monitoring an abnormal state of a machine system at the time of positioning operation has been proposed. This apparatus uses a drive motor whose speed is controlled by a speed control unit. As the monitor means, the average value of current feedback values from the motor is monitored when the positioning operation of the machine system is controlled. However, generally, in machine tools, the cutting force and frictional force by the tool against a workpiece vary. Accordingly, the average value of the current feedback value of the motor also varies. Thus, even if the average value of the current feedback values of the motor is monitored in the manner described above, it is difficult to determine whether or not the positioning condition is abnormal.